home *** CD-ROM | disk | FTP | other *** search
- TABLE OF CONTENTS
-
- virtualmem.library/AutoAdjustPri
- virtualmem.library/ChangeVMemPri
- virtualmem.library/CreateVMem
- virtualmem.library/FlushVMem
- virtualmem.library/GetVMemInfo
- virtualmem.library/LockVMem
- virtualmem.library/MakeVMem
- virtualmem.library/PageIn
- virtualmem.library/PageOut
- virtualmem.library/RemoveVMem
- virtualmem.library/SetVMemFlags
- virtualmem.library/UnlockVMem
- virtualmem.library/AutoAdjustPri virtualmem.library/AutoAdjustPri
-
- NAME
- AutoAdjustPri -- Adjust object priorities (V2)
-
- SYNOPSIS
- AutoAdjustPri(array);
- a0
-
- VOID AutoAdjustPri(APTR *);
-
- FUNCTION
- Automagically adjusts object priorities so that array[42] will get
- paged out before array[6]. This call can increase the speed of
- programs that process large amounts of data significantly.
-
- INPUTS
- array - A NULL-terminated array of object handles
-
- BUGS
- For now, you can't pass more than 255 object handles to
- AutoAdjustPri().
-
- NOTE
- The adjusting code is not quite optimal right now, as it just
- distributes the memory objects evenly around 0.
-
- SEE ALSO
- ChangeVMemPri
-
- virtualmem.library/ChangeVMemPri virtualmem.library/ChangeVMemPri
-
- NAME
- ChangeVMemPri -- Change memory object priority
-
- SYNOPSIS
- ChangeVMemPri(handle,newpri);
-
- VOID ChangeVMemPri(APTR,LONG);
- a0 d0-0:8
-
- FUNCTION
- This function will change the priority of a memory object. The
- lower the priority of a memory object is, the sooner it will be
- paged out to disk.
-
- INPUTS
- handle - A memory object handle
- newpri - The new priority for the memory object
-
- SEE ALSO
- CreateVMem
-
- virtualmem.library/CreateVMem virtualmem.library/CreateVMem
-
- NAME
- CreateVMem -- Create a memory object
-
- SYNOPSIS
- handle = CreateVMem(size,flags,priority,virtualflags);
- d0 d0 d1 d2 d3
-
- APTR CreateVMem(ULONG,ULONG,BYTE,ULONG);
-
- FUNCTION
- Creates a memory object.
-
- INPUTS
- size - Size of the requested memory block
- flags - Memory flags as with most exec.library memory allocation
- functions
- priority - The initial priority for the memory object
- virtualflags - Additional flags
-
- RETURN
- A pointer to a memory object handle. The structure for this object
- is private as it is subject to change in the future.
-
- SEE ALSO
- RemoveVMem, LockVMem, UnlockVMem, libraries/virtualmem.h
-
- virtualmem.library/FlushVMem virtualmem.library/FlushVMem
-
- NAME
- FlushVMem -- Page a memory object to disk
-
- SYNOPSIS
- success = FlushVMem(attrs);
- d1
-
- BOOL FlushVMem(ULONG);
-
- FUNCTION
- Ask virtualmem.library to page one memory object to disk. The
- function will page the low-priority objects not belonging to the
- calling task to disk first.
-
- INPUTS
- attrs - Memory attributes
-
- RESULT
- success - TRUE if a memory object was paged out, FALSE otherwise
-
- NOTE
- This function was implemented mainly for the AllocMem() patch to
- allow non-virtualmem.library tasks to run in relative harmony with
- those that use virtualmem.library.
-
- virtualmem.library/GetVMemInfo virtualmem.library/GetVMemInfo
-
- NAME
- GetVMemInfo -- Get information about objects
-
- SYNOPSIS
- GetVMemInfo(info);
- a0
-
- VOID GetVMemInfo(struct VMemStat *);
-
- FUNCTION
- Gather information about memory objects and fill a given structure
- with it. This function is relatively slow when lots of objects have
- been created as it has to walk down the list of memory objects.
-
- INPUTS
- info - A pointer to a VMemStat structure
-
- virtualmem.library/LockVMem virtualmem.library/LockVMem
-
- NAME
- LockVMem -- Lock a memory object into memory
-
- SYNOPSIS
- memory = LockVMem(handle);
- d0 a0
-
- APTR LockVMem(APTR);
-
- FUNCTION
- Locks a memory object into RAM and returns a pointer to it. This
- memory can then be used like conventional memory.
-
- INPUTS
- handle - The memory handle as given to you by CreateVMem
-
- RETURN
- memory - A pointer to the memory area the object controls
-
- NOTE
- You should, in general, keep as little memory blocks locked at the
- same time. This way, if a non-virtualmem.library task needs more
- memory, virtualmem.library can page some low-priority objects to
- disk.
-
- All succesful calls to LockVMem should have matching calls to
- UnlockVMem()!
-
- SEE ALSO
- UnlockVMem
-
- virtualmem.library/MakeVMem virtualmem.library/MakeVMem
-
- NAME
- MakeVMem -- Turn a memory block into a memory object
-
- SYNOPSIS
- handle = MakeVMem(memory,size,flags,virtualflags);
- d0 a0 d0 d1 d3
-
- APTR MakeVMem(APTR,ULONG,ULONG,ULONG);
-
- FUNCTION
- Create a memory object and place the memory block into its control.
- The memory area must have been allocated with AllocMem(),
- AllocVec() will not do. After the function is called, all pointers to
- the memory become invalid. The resulting memory object will be unlocked.
-
- INPUTS
- memory - The memory area to convert
- size - Size in bytes
- flags - Set of bits as given to CreateVMem()
- virtualflags - Set of bits as given to CreateVMem()
-
- RETURN
- handle - A memory object handle or NULL if failed
-
- NOTE
- You must not FreeMem() the memory area yourself! It is now a memory
- object and must be freed with RemoveVMem()!
-
- SEE ALSO
- ChangeVMemPri, CreateVMem, RemoveVMem
-
- virtualmem.library/PageIn virtualmem.library/PageIn
-
- NAME
- PageIn -- Load a memory object back into RAM
-
- SYNOPSIS
- success = PageIn(handle);
- a0
-
- BOOL PageIn(APTR);
-
- FUNCTION
- Loads a memory object back to RAM from disk if it has been paged
- out.
-
- INPUTS
- handle - The memory object handle
-
- RETURN
- success - TRUE if read was successful, FALSE otherwise
-
- NOTE
- As this function wasn't originally meant to be used by programs
- other than virtualmem.library, you shouldn't use it.
-
- SEE ALSO
- PageOut
-
- virtualmem.library/PageOut virtualmem.library/PageOut
-
- NAME
- PageOut -- Page a memory object to disk
-
- SYNOPSIS
- success = PageOut(handle);
- a0
-
- BOOL PageOut(APTR);
-
- FUNCTION
- Pages a memory object to disk if not there already.
-
- INPUTS
- handle - The memory object handle
-
- RETURN
- success - TRUE if write was successful, FALSE otherwise
-
- NOTE
- As this function wasn't originally meant to be used by programs
- other than virtualmem.library, you shouldn't use it.
-
- SEE ALSO
- PageIn, LockVMem
-
- virtualmem.library/RemoveVMem virtualmem.library/RemoveVMem
-
- NAME
- RemoveVMem -- Remove a memory object
-
- SYNOPSIS
- RemoveVMem(handle);
- a0
-
- VOID RemoveVMem(APTR);
-
- FUNCTION
- Removes a memory object previously allocated with CreateVMem().
- The memory object must be unlocked.
-
- INPUTS
- handle - The memory object you wish to get rid of
-
- SEE ALSO
- CreateVMem()
-
- virtualmem.library/SetVMemFlags virtualmem.library/SetVMemFlags
-
- NAME
- SetVMemFlags -- Set user-definable flags (V3)
-
- SYNOPSIS
- oldflags = SetVMemFlags(handle, newflags);
- a0 d0
-
- ULONG SetVMemFlags(APTR,ULONG);
-
- FUNCTION
- Sets the user-definable flags in a memory object.
-
- INPUTS
- handle - a memory object handle
- newflags - the new flags
-
- RESULT
- oldflags - the old flags that just got replaced
-
- NOTE
- You can't set some of the flags after a memory object is created.
- You should be able to set all defined flags for now; this may
- change in the future, however.
-
- SEE ALSO
- CreateVMem, MakeVMem
-
- virtualmem.library/UnlockVMem virtualmem.library/UnlockVMem
-
- NAME
- UnlockVMem -- Unlock a memory object
-
- SYNOPSIS
- UnlockVMem(handle);
- a0
-
- VOID UnlockVMem(APTR);
-
- FUNCTION
- Unlocks a memory object. All pointers to the memory obtained with
- LockVMem() from this object become invalid.
-
- INPUTS
- handle - The memory object handle
-
- SEE ALSO
- LockVMem
-
-